// import 'OOP.dart';

void main() {
  var a = Type.a;
  switch (a) {
    case Type.a:
      print(1);
      break;
    case Type.b:
      print(2);
      break;
    case Type.c:
      print(3);
      break;
    case Type.d:
      print(4);
      break;
    default:
      break;
  }
  var util = new Util<String>(); // 类级别泛型
  util.setA('value');
  util.setB<String>('value');
  print(util.a);
}

enum Type { a, b, c, d }

class Util<T> {
  var a;

  void setA(T value) {
    this.a = value;
  }

  void setB<N>(N value) {
    print(value);
  }
}
